﻿using System.ComponentModel.DataAnnotations;

namespace Comunes.Validadores
{

    /// <summary>
    /// Clase personalizada para las validaciones
    /// </summary>
    public class CustomValidation
    {
        private string message;

        /// <summary>
        /// Constructor de la clase que recibe el mensaje a mostrar en caso de error
        /// </summary>
        /// <param name="message"></param>
        public CustomValidation(string message)
        {
            this.message = message;
        }


        /// <summary>
        /// Bandera que determina si un mensaje va a ser mostrado o no
        /// </summary>
        public bool ShowErrorMessage
        {
            get;
            set;
        }


        /// <summary>
        /// Captura el error de validacion y levanta una excepcion
        /// </summary>
        public object ValidationError
        {
            get { return null; }
            set
            {
                if (ShowErrorMessage)
                    throw new ValidationException(message); 
            }
        }
    }
}
